Los datos utilizados para este análisis fueron tomados de la página de la Secretaría de Salud https://coronavirus.gob.mx/, donde se colectaron todos los casos de COVID-19 que se registraron en el país. Para este caso, la base de datos se filtró previamente para tener exclusivamente los casos para el estado de Querétaro.
Estos casos fueron colectados desde el día 1 de enero de 2020 hasta el 18 de octubre de 2021.
Este proyecto parte al observar la grafica de casos positivos de COVID-19 para el estado de Querétaro por estructura de edad, donde se marca la observación de que los casos no son homogéneos en las edades presentadas, sino que hay más casos de ciertas edades en específico durante ciertos periodos de tiempo.
Esto pone en pie la idea de que la edad del paciente es importante para determinar la dinámica de las infecciones de COVID-19.
Además de múltiples fuentes bibliográficas.
Con esta observación, se determinaron las probabilidades de transición entre estados, con base en el modelo de la CDMX. Estas probabilidades se obtuvieron por cada rango de edad de todos los casos que estan involucrados en la transición.
EStas probabilidades se determinaron como:
\[ \frac{\sum \text{todos los casos que cumplen con X}}{\sum \text{todos los casos que cumplen con y}} \]
Con base al modelo de la CDMX, las probabilidades de transición que se podían calcular a partir de los datos, son:
\[p(infectado | susceptible) = \frac{\text{todos los casos positivos}}{\text{todos los casos reportados (positivos/negativos})}\]
\[p(ambulatorio | infectado) = \frac{\text{todos los casos ambulatorios}}{\text{todos los casos positivos}}\]
\[p(hospitalizado | infectado)= \frac{\text{todos los casos hospitalizados}}{\text{todos los casos infectados}}\] - Probabilidad de que un hospitalizado sea intubado (ICU) “\(p_i\)”:
\[p(ICU | hospitalizado) = \frac{\text{todos los casos que fueron intubados}}{todos los casos hospitalizados}\]
\[p(muerte | ICU) = \frac{\text{todos los casos que murieron}}{\text{todos los casos que fueron intubados}}\]
Para los casos donde se va centrando la transición, por ejemplo, de ICU a Muerte, la base de datos se filtró para contar solamente los casos, de los que fueron intubados, auqellos que murieron, sin tomar en cuenta, todas las otras muertes regitradas en la base de datos, que no fueron intubados.
load("03_Out/OutData/probabilidades_de_transicion.RData")
probabilidades_de_transicion
## Suceptible --> Infectado Infectado --> Ambulatorio Infectado --> Grave
## p18 0.3771645 0.9746533 0.02534672
## p18_29 0.4279197 0.9768695 0.02313048
## p30_39 0.4668530 0.9452951 0.05470488
## p40_49 0.4974040 0.8905314 0.10946855
## p50_59 0.5207841 0.7936458 0.20635417
## p60_69 0.5615936 0.6387616 0.36123837
## p70 0.5661033 0.4746421 0.52535787
## Grave --> ICU ICU --> Muerte
## p18 0.09433962 0.5000000
## p18_29 0.09013605 0.6792453
## p30_39 0.13291634 0.7000000
## p40_49 0.17860600 0.7886179
## p50_59 0.19795222 0.8563218
## p60_69 0.23827825 0.8741935
## p70 0.18567536 0.9203354
Para el estableimiento del modelo es necesario establecer las categorias de edades con base en las probabilidades de transición. Para esto, se realiza un análisis de clusterización, donde los grupos de edad se agrupan de acuerdo a la distancia entre las probabilidades de transición, es decir, para aquellas probabilidades que sean más parecidas o menos distantes, seran agrupadas en un conjunto.
Con este análisis, se obtuvieron cuatro grupos etarios por el cual se va a desarrollar el modelo:
Este diagrama fue elaborado con base al modelo de la CDMX https://modelo.covid19.cdmx.gob.mx/, al cual se le modificaron los compartimentos establecidos, ya que estos fueron definidos con base a las probabilidades de transición obtenidas con los datos públicos.
| Parámetros | Significado |
|---|---|
| \(\beta\) | Tasa de infección por la interacción \(SI\) y \(SI_l\) Este parámetro tiene estructura de edad |
| \(\alpha\) | Tasa a la que los individuos expuestos se vuelven infectantes |
| \(p_l\) | Fracción de individuos infectados que no son hospitalizados, se vuelven infectados leves \(0 \le p_g \le 1\) Este parámetro tiene estructura de edad |
| \(p_h\) | Fracción de individuos infectados que son hospitalizados \(0 \le p_g \le 1\) Este parámetro tiene estructura de edad |
| \(\delta_l\) | Tasa a la que los individuos infectados se vuelven infectados leves/ambulatorios |
| \(\delta_h\) | Tasa a la que los individuos infectados se vuelven infectados hospitalizados/graves |
| \(\gamma _R\) | Tasa en la que los individuos infectados leves se recuperan |
| \(p_i\) | Fracción de individuos hospitalizados que son intubados \(0 \le p_i \le 1\) Este parámetro tiene estructura de edad |
| \((1-p_i)\) | Resto de individuos hospitalizados que no son intubados, se recuperan |
| \(\gamma _h\) | Tasa a la que los individuos hospitalizados se recuperan |
| \(\delta _i\) | Tasa a la que los individuos hospitalizados son intubados |
| \(\mu\) | Fracción de individuos intubados que mueren \(0 \le \mu \le 1\) Este parámetro tiene estructura de edad |
| \((1-\mu)\) | Resto de individuos intubados que no mueren, se recuperan |
| \(\delta _m\) | Tasa a la que los individuos intubados mueren |
| \(\gamma _i\) | Tasa a la que los individuos intubados se recuperan |
| Parámetros | Valor |
|---|---|
| \(\beta _1\) | 0.3771645 |
| \(\beta _2\) | 0.4473864 |
| \(\beta _3\) | 0.5090940 |
| \(\beta _4\) | 0.5638485 |
| \(\alpha\) | 1/Dincub |
| \(p _{l1}\) | 0.9746533 |
| \(p _{l2}\) | 0.9610823 |
| \(p _{l3}\) | 0.8420886 |
| \(p _{l4}\) | 0.5567019 |
| \(p _{h1}\) | 0.02534672 |
| \(p _{h2}\) | 0.03891768 |
| \(p _{h3}\) | 0.15791136 |
| \(p _{h4}\) | 0.44329812 |
| \(\delta _l\) | 1/Dinfect |
| \(\delta _h\) | 1/Dhosp |
| \(\gamma _R\) | 1/DRL |
| \(p_{i1}\) | 0.09433962 |
| \(p_{i2}\) | 0.11152620 |
| \(p_{i3}\) | 0.18827911 |
| \(p_{i4}\) | 0.21197680 |
| \(\delta _i\) | 1/DICU |
| \(\gamma _h\) | 1/DRH |
| \(\mu _1\) | 0.5000000 |
| \(\mu _2\) | 0.6896226 |
| \(\mu _3\) | 0.8224699 |
| \(\mu _4\) | 0.8972645 |
| \(\delta _m\) | 1/DM |
| \(\gamma _i\) | 1/DRICU |
| Parámetro | Valor | Significado |
|---|---|---|
| Dincub | 5.6 | Tiempo de incubación (dias) (Quesada et al., 2021 DOI: 10.1016/j.rceng.2020.08.002) |
| Dinfect | 5.5 | Tiempo en el que es infeccioso el paciente (Xin et al., 2021 https://doi.org/10.1093/cid/ciab746) |
| DRL | 14 | Tiempo de recuperacion de casos leves (dias) (Se mantiene de diversas fuentes ) |
| Dhosp | 4 | Tiempo entre presencia de sintomas y hospitalización en casos graves (dias) |
| DRH | 12 | Tiempo entre hospitalizacion de casos gravez no UCI y recuperacion (dias) |
| DM | 8 | Tiempo entre ingreso a UCI y deceso |
| DRICU | 7 | Tiempo entre ingreso a UCI y recuperación (dias) |
| DICU | 1 | Tiempo entre ingreso a hospitalización e ingreso a UCI |
| Variable | Elementos de las ecuaciones | ||
|---|---|---|---|
| \(S_1\) | \(- 0.3771 S_1 (I_1 + I_2+ I_3 + I_4)\) | ||
| \(E_1\) | \(0.3771 S_1 (I_1 + I_2+ I_3 + I_4)\) | \(-0.1785 E_1\) | |
| \(I_1\) | \(0.1785 E_1\) | \(-0.006325 I_1\) | \(-0.1772 I_1\) |
| \(I_{l1}\) | \(0.1772 I_1\) | \(-0.0714 I_{l1}\) | |
| \(I_{h1}\) | \(0.006325 I_1\) | \(-0.0943 I_{h1}\) | \(-0.0754 I_{h1}\) |
| \(I_{i1}\) | \(0.0943 I_{h1}\) | \(-0.0625 I_{i1}\) | \(-0.0714 I_{i1}\) |
| \(M_1\) | \(0.0625 I_{i1}\) | ||
| \(R_1\) | \(0.0714 I_{l1}\) | \(+0.0754 I_{h1}\) | \(+0.0714 I_{i1}\) |
| \(S_2\) | \(- 0.4473 S_2 (I_1 + I_2+ I_3 + I_4)\) | ||
| \(E_2\) | \(0.4473 S_2 (I_1 + I_2+ I_3 + I_4)\) | \(-0.1785 E_2\) | |
| \(I_2\) | \(0.1785 E_2\) | \(-0.009725 I_2\) | \(-0.1747 I_2\) |
| \(I_{l2}\) | \(0.1747 I_2\) | \(-0.0714 I_{l2}\) | |
| \(I_{h2}\) | \(0.009725 I_2\) | \(-0.1115 I_{h2}\) | \(-0.0740 I_{h2}\) |
| \(I_{i2}\) | \(0.1115 I_{h2}\) | \(-0.0862 I_{i2}\) | \(-0.0443 I_{i2}\) |
| \(M_2\) | \(0.0862 I_{i2}\) | ||
| \(R_2\) | \(0.0714 I_{l2}\) | \(+0.0740 I_{h2}\) | \(+0.0443 I_{i2}\) |
| \(S_3\) | \(-0.5090 S_3 (I_1 + I_2+ I_3 + I_4)\) | ||
| \(E_3\) | \(0.5090 S_3 (I_1 + I_2+ I_3 + I_4)\) | \(-0.1785 E_3\) | |
| \(I_3\) | \(0.1785 E_3\) | \(-0.0394 I_3\) | \(-0.1530 I_3\) |
| \(I_{l3}\) | \(0.1530 I_3\) | \(-0.0714 I_{l3}\) | |
| \(I_{h3}\) | \(0.0394 I_3\) | \(-0.1882 I_{h3}\) | \(-0.0676 I_{h3}\) |
| \(I_{i3}\) | \(0.1882 I_{h3}\) | \(-0.1028 I_{i3}\) | \(-0.0253 I_{i3}\) |
| \(M_3\) | \(0.1028 I_{i3}\) | ||
| \(R_3\) | \(0.0714 I_{l3}\) | \(+0.0676 I_{h3}\) | \(+0.0253 I_{i3}\) |
| \(S_4\) | \(- 0.5638 S_4 (I_1 + I_2+ I_3 + I_4)\) | ||
| \(E_4\) | \(0.5638 S_4 (I_1 + I_2+ I_3 + I_4)\) | \(-0.1785 E_4\) | |
| \(I_4\) | \(0.1785 E_4\) | \(-0.1108 I_4\) | \(-1012 I_4\) |
| \(I_{l4}\) | \(1012 I_4\) | \(-0.0714 I_{l4}\) | |
| \(I_{h4}\) | \(0.1108 I_4\) | \(-0.2119 I_{h4}\) | \(-0.0656 I_{h4}\) |
| \(I_{i4}\) | \(0.2119 I_{h4}\) | \(-0.1121 I_{i4}\) | \(-0.01468 I_{i4}\) |
| \(M_4\) | \(0.1121 I_{i4}\) | ||
| \(R_4\) | \(0.0714 I_{l4}\) | \(0.0656 I_{h4}\) | \(0.01468 I_{i4}\) |
Grupo 1
Grupo 2
Grupo 3
Grupo 4
\[\begin{aligned} & \dot S_j = - \frac{\beta \, \sum_{k=1} ^4 S_j \, I_k}{N} \\ & \dot E_i = \frac{\beta \, \sum_{k=1} ^4 S_j \, I_k}{N} - \alpha \, E_j \\ & \dot I_j = \alpha \, E_j - p_{lj} \, \delta_l \, I_j - p_{hj} \, \delta_h \, I_j \\ & \dot I_{lj} = p_{lj} \, \delta_l \, I_j - \gamma_R \, I_{lj} \\ & \dot I_{hj} = p_{hj} \, \delta_h \, I_j - p_{ij} \, \delta_i \, I_{hj} - (1 - p_{ij}) \, \gamma_h \, I_{hj} \\ & \dot I_{ij} = p_{ij} \, \delta_i \, I_{hj} - \mu_j \, \delta_{\mu} \, I_{ij} - (1 - \mu_j) \, \gamma_i \, I_{ij} \\ & \dot M_j = \mu_j \, \delta_{\mu} \, I_{ij} \\ & \dot R_j = \gamma_R \, I_{lj} \, + (1 - p_{ij}) \, \gamma_h \, I_{hj} + (1 - \mu_j) \, \gamma_i \, I_{ij} \\ \\ & j \, \forall = 1,2,3,4 \end{aligned}\]
\[\begin{array}{l} \text{Para el grupo 1 :} \\ \dot S_1 = - \frac{\beta_1}{N} * S_1 (I_1 + I_2+ I_3 + I_4) \\ \dot E_1 = \frac{\beta_1}{N} * S_1 (I_1 + I_2+ I_3 + I_4) - \alpha E_1 \\ \dot I_1 = \alpha E_1 - p_{h1} \delta _h I_1 - p_{l1} \delta _l I_1 \\ \dot I_{l1} = p_{l1} \delta _l I_1 - \gamma _R I_{l1} \\ \dot I_{h1} = p_{h1} \delta _h I_1 - p_{i1} \delta _{i} I_{h1} - (1 - p_{i1}) \gamma _h I_{h1} \\ \dot I_{i1} = p_{i1} \delta _i I_{h1} - \mu _1 \delta _\mu I_{i1} - (1 - \mu _1) \gamma _i I_{i1} \\ \dot M_1 = \mu _1 \delta _\mu I_{i1} \\ \dot R_1 = \gamma _R I_{l1} + (1 - p_{i1}) \gamma _h I_{h1} + (1 - \mu _1) \gamma _i I_{i1} \\ \\ \text{Para el grupo 2 :} \\ \dot S_2 = - \frac{\beta_2}{N} * S_2 (I_1 + I_2+ I_3 + I_4) \\ \dot E_2 = \frac{\beta_2}{N} * S_2 (I_1 + I_2+ I_3 + I_4) - \alpha E_2 \\ \dot I_2 = \alpha E_2 - p_{h2} \delta _h I_2 - p_{l2} \delta _l I_2 \\ \dot I_{l2} = p_{l2} \delta _l I_2 - \gamma _R I_{l2} \\ \dot I_{h2} = p_{h2} \delta _h I_2 - p_{i2} \delta _{i} I_{h2} - (1 - p_{i2}) \gamma _h I_{h2} \\ \dot I_{i2} = p_{i2} \delta _i I_{h2} - \mu _2 \delta _\mu I_{i2} - (1 - \mu _2) \gamma _i I_{i2} \\ \dot M_2 = \mu _2 \delta _\mu I_{i2} \\ \dot R_2 = \gamma _R I_{l2} + (1 - p_{i2}) \gamma _h I_{h2} + (1 - \mu _2) \gamma _i I_{i2} \\ \\ \text{Para el grupo 3 :} \\ \dot S_3 = - \frac{\beta_3}{N} * S_3 (I_1 + I_2+ I_3 + I_4) \\ \dot E_3 = \frac{\beta_3}{N} * S_3 (I_1 + I_2+ I_3 + I_4) - \alpha E_3 \\ \dot I_3 = \alpha E_3 - p_{h3} \delta _h I_3 - p_{l3} \delta _l I_3 \\ \dot I_{l3} = p_{l3} \delta _l I_3 - \gamma _R I_{l3} \\ \dot I_{h3} = p_{h3} \delta _h I_3 - p_{i3} \delta _{i} I_{h3} - (1 - p_{i3}) \gamma _h I_{h3} \\ \dot I_{i3} = p_{i3} \delta _i I_{h3} - \mu _3 \delta _\mu I_{i3} - (1 - \mu _3) \gamma _i I_{i3} \\ \dot M_3 = \mu _3 \delta _\mu I_{i3} \\ \dot R_3 = \gamma _R I_{l3} + (1 - p_{i3}) \gamma _h I_{h3} + (1 - \mu _3) \gamma _i I_{i3} \\ \\ \text{Para el grupo 4 :} \\ \dot S_4 = - \frac{\beta_4}{N} * S_4 (I_1 + I_2+ I_3 + I_4) \\ \dot E_4 = \frac{\beta_4}{N} * S_4 (I_1 + I_2+ I_3 + I_4) - \alpha E_4 \\ \dot I_4 = \alpha E_4 - p_{h4} \delta _h I_4 - p_{l4} \delta _l I_4 \\ \dot I_{l4} = p_{l4} \delta _l I_4 - \gamma _R I_{l4} \\ \dot I_{h4} = p_{h4} \delta _h I_4 - p_{i4} \delta _{i} I_{h4} - (1 - p_{i4}) \gamma _h I_{h4} \\ \dot I_{i4} = p_{i4} \delta _i I_{h4} - \mu _4 \delta _\mu I_{i4} - (1 - \mu _4) \gamma _i I_{i4} \\ \dot M_4 = \mu _4 \delta _\mu I_{i4} \\ \dot R_4 = \gamma _R I_{l4} + (1 - p_{i4}) \gamma _h I_{h4} + (1 - \mu _4) \gamma _i I_{i4} \end{array}\]
Para demostrar que la población se conserva, se asume que:
\[N = S + E + I + I_l + I_h + I_i + M + R = 1\]
Esto siendo aplicable a todos los casos en la estructura etaria, por lo que:
\[\dot N = \dot S + \dot E + \dot I + \dot I_l + \dot I_h + \dot I_i + \dot M + \dot R = 0\]
De manera que, integrando a las ecuaciones, quedaría como:
\[\begin{array}{l} \dot N = - \beta_n S_n (\sum I_n) + \\ \beta_n S_n (\sum I_n) - \alpha E_n + \alpha E_n \\ - p_{hn} \delta_{h} I_n - p_{ln} \delta _l I_{n} + p_{ln} \delta _l I_{n} \\ - \gamma _R I_{ln} + p_{hn} \delta_{h} I_n - p_{in} \delta _i I_{hn} \\ - (1-p_{in}) \gamma _h I_{hn} + p_{in} \delta _i I_{hn} \\ - \mu _n \delta _\mu I_{in} - (1-\mu_n) \gamma_i I_{in} \\ + \mu _n \delta _\mu I_{in} + \gamma _R I_{ln} + (1-p_{in}) \gamma _h I_{hn} \\ + (1-\mu_n) \gamma_i I_{in} = 0 \end{array}\]
De acuerdo a la información obtenida del INEGI, la población del estado de Querétaro es de 2,368,467 habitantes, al senso realizado en 2020. Este valor de la poblacion se toma como el valor total de la población. Para el caso de cada estructura de edad definia, la población de individuos suceptibles quedaria como:
El modelo de COVID para el estado de Querétaro se resolvió en R con el uso de deSolve.
## Funcion del modelo ====
modelo_covid_all_groups <- function(t, state, parameters){
with(as.list(c(state, parameters)), {
## GRUPO 1
dS1 <- - (beta_1/(N1+N2+N3+N4)) * S1 * (I1 + I2 + I3 + I4)
dE1 <- ( (beta_1/(N1+N2+N3+N4)) * S1 * (I1 + I2 + I3 + I4) ) - ( alpha * E1 )
dI1 <- ( alpha * E1 ) - ( ph_1 * delta_h * I1 ) - ( pl_1 * delta_l * I1 )
dI_l1 <- ( pl_1 * delta_l * I1 ) - ( gamma_R * I_l1 )
dI_h1 <- ( ph_1 * delta_h * I1 ) - ( pi_1 * delta_i * I_h1 ) - ( (1 - pi_1) * gamma_h * I_h1 )
dI_i1 <- ( pi_1 * delta_i * I_h1 ) - ( mu_1 * delta_m * I_i1 ) - ( (1 - mu_1) * gamma_i * I_i1 )
dM1 <- mu_1 * delta_m * I_i1
dR1 <- ( gamma_R * I_l1 ) + ( (1 - pi_1) * gamma_h * I_h1 ) + ( (1 - mu_1) * gamma_i * I_i1 )
## GRUPO 2
dS2 <- - (beta_2/(N1+N2+N3+N4)) * S2 * (I1 + I2 + I3 + I4)
dE2 <- ( (beta_2/(N1+N2+N3+N4)) * S2 * (I1 + I2 + I3 + I4) ) - ( alpha * E2 )
dI2 <- ( alpha * E2 ) - ( ph_2 * delta_h * I2 ) - ( pl_2 * delta_l * I2 )
dI_l2 <- ( pl_2 * delta_l * I2 ) - ( gamma_R * I_l2 )
dI_h2 <- ( ph_2 * delta_h * I2 ) - ( pi_2 * delta_i * I_h2 ) - ( (1 - pi_2) * gamma_h * I_h2 )
dI_i2 <- ( pi_2 * delta_i * I_h2 ) - ( mu_2 * delta_m * I_i2 ) - ( (1 - mu_2) * gamma_i * I_i2 )
dM2 <- mu_2 * delta_m * I_i2
dR2 <- ( gamma_R * I_l2 ) + ( (1 - pi_2) * gamma_h * I_h2 ) + ( (1 - mu_2) * gamma_i * I_i2 )
## GRUPO 3
dS3 <- - (beta_3/(N1+N2+N3+N4)) * S3 * (I1 + I2 + I3 + I4)
dE3 <- ( (beta_3/(N1+N2+N3+N4)) * S3 * (I1 + I2 + I3 + I4) ) - ( alpha * E3 )
dI3 <- ( alpha * E3 ) - ( ph_3 * delta_h * I3 ) - ( pl_3 * delta_l * I3 )
dI_l3 <- ( pl_3 * delta_l * I3 ) - ( gamma_R * I_l3 )
dI_h3 <- ( ph_3 * delta_h * I3 ) - ( pi_3 * delta_i * I_h3 ) - ( (1 - pi_3) * gamma_h * I_h3 )
dI_i3 <- ( pi_3 * delta_i * I_h3 ) - ( mu_3 * delta_m * I_i3 ) - ( (1 - mu_3) * gamma_i * I_i3 )
dM3 <- mu_3 * delta_m * I_i3
dR3 <- ( gamma_R * I_l3 ) + ( (1 - pi_3) * gamma_h * I_h3 ) + ( (1 - mu_3) * gamma_i * I_i3 )
## GRUPO 4
dS4 <- - (beta_4/(N1+N2+N3+N4)) * S4 * (I1 + I2 + I3 + I4)
dE4 <- ( (beta_4/(N1+N2+N3+N4)) * S4 * (I1 + I2 + I3 + I4) ) - ( alpha * E4 )
dI4 <- ( alpha * E4 ) - ( ph_4 * delta_h * I4 ) - ( pl_4 * delta_l * I4 )
dI_l4 <- ( pl_4 * delta_l * I4 ) - ( gamma_R * I_l4 )
dI_h4 <- ( ph_4 * delta_h * I4 ) - ( pi_4 * delta_i * I_h4 ) - ( (1 - pi_4) * gamma_h * I_h4 )
dI_i4 <- ( pi_4 * delta_i * I_h4 ) - ( mu_4 * delta_m * I_i4 ) - ( (1 - mu_4) * gamma_i * I_i4 )
dM4 <- mu_4 * delta_m * I_i4
dR4 <- ( gamma_R * I_l4 ) + ( (1 - pi_4) * gamma_h * I_h4 ) + ( (1 - mu_4) * gamma_i * I_i4 )
list(c(dS1, dE1, dI1, dI_l1, dI_h1, dI_i1, dM1, dR1,
dS2, dE2, dI2, dI_l2, dI_h2, dI_i2, dM2, dR2,
dS3, dE3, dI3, dI_l3, dI_h3, dI_i3, dM3, dR3,
dS4, dE4, dI4, dI_l4, dI_h4, dI_i4, dM4, dR4))
})
}
## Tiempo ====
t <- seq (0, 300, by = 0.1)
## Parametros ====
parameters <- c(
beta_1 <- 0.3771645 ,
beta_2 <- 0.4473864 ,
beta_3 <- 0.5090940 ,
beta_4 <- 0.5638485 ,
alpha <- 1/5.6 ,
pl_1 <- 0.9746533 ,
pl_2 <- 0.9610823 ,
pl_3 <- 0.8420886 ,
pl_4 <- 0.5567019 ,
ph_1 <- 0.02534672 ,
ph_2 <- 0.03891768 ,
ph_3 <- 0.15791136 ,
ph_4 <- 0.44329812 ,
delta_l <- 1/5.5 ,
delta_h <- 1/4 ,
gamma_R <- 1/14 ,
pi_1 <- 0.09433962 ,
pi_2 <- 0.11152620 ,
pi_3 <- 0.18827911 ,
pi_4 <- 0.21197680 ,
delta_i <- 1/1 ,
gamma_h <- 1/12 ,
mu_1 <- 0.5000000 ,
mu_2 <- 0.6896226 ,
mu_3 <- 0.8224699 ,
mu_4 <- 0.8972645 ,
delta_m <- 1/8 ,
gamma_i <- 1/7 ,
N1 <- 782000 ,
N2 <- 801000 ,
N3 <- 539000 ,
N4 <- 242000
)
## Condiciones iniciales del sistema ====
# De acuerdo a la información obtenida del INEGI, la población del estado de
# Querétaro es de 2,368,467 habitantes, al senso realizado en 2020.
# Este valor de la poblacion se toma como el valor total de la población.
# Para el caso de cada estructura de edad definia, la población de individuos
# suceptibles quedaria como:
# Grupo 1: Menores de 18 años = 782000
# Grupo 2: 18 - 39 años = 801000
# Grupo 3: 40 - 59 años = 539000
# Grupo 4: 60 - >70 años = 242000
state <- c(
## GRUPO 1
S1 = N1 - 1,
E1 = 0,
I1 = 1,
I_l1 = 0,
I_h1 = 0,
I_i1 = 0,
M1 = 0,
R1 = 0,
## GRUPO 2
S2 = N2 - 1,
E2 = 0,
I2 = 1,
I_l2 = 0,
I_h2 = 0,
I_i2 = 0,
M2 = 0,
R2 = 0,
## GRUPO 3
S3 = N3 - 1,
E3 = 0,
I3 = 1,
I_l3 = 0,
I_h3 = 0,
I_i3 = 0,
M3 = 0,
R3 = 0,
## GRUPO 4
S4 = N4 - 1,
E4 = 0,
I4 = 1,
I_l4 = 0,
I_h4 = 0,
I_i4 = 0,
M4 = 0,
R4 = 0
)
## Out ====
out_all_groups <- as.data.frame(ode(y = state,
times = t,
func = modelo_covid_all_groups,
parms = parameters))
library(plotly)
source("02_Scripts/06_Resolucion_numerica.R")
ggplotly(grafica_modelo)
library(plotly)
source("02_Scripts/07_Graficas_del_modelo.R")
ggplotly(grafica_infectados)
ggplotly(grafica_recuperados)
ggplotly(grafica_muertos)
¿Por qué no considerar comorbilidades? R= ¿Cuál es la probabilidad que una persona de cierta edad tenga una comorbilidad, dos, tres , cuatro o combinaciones de éstas? La probabilidad de que dado que tiene una comorbilidad, a qué categoría es más probable que pertenezca \(p(cat_j|com_i) = \frac{\text{# casos de comorbilidad }j\text{ en la categoría }i}{\text{#casos de la categoría }i}\).
Se hicieron los conteos por cada categoría de cuántos pácientes tienen alguna comorbilidad. Se hace por cada categoría y en cada comorbilidad. Se hace uso de una función alojada en R.
load("03_Out/OutData/conteo_comorbilidades.RData")
comorbilidades_conteos
## categoria 1 categoria 2 categoria 3 categoria 4
## diabetes 26 501 2319 1992
## epoc 8 63 65 182
## asma 54 268 151 65
## inmunsupr 29 98 116 125
## hipertension 19 690 2869 2811
## cardiovascular 20 76 141 198
## obesidad 147 2471 2466 902
## renal_cronica 17 141 174 216
## tabaquismo 34 2157 1012 372
Una vez se obtuvo el conteo de las comorbilidades, se hizo el conteo de todos los casos positivos registrados para obtener el total de casos por cada categoría.
Para obtener la probabilidad, se dividen los casos de comorbilidad por cada una, entre el total de casos de cada categoría. Los datos se guardaron en una matriz.
load("03_Out/OutData/matriz_2_p_comorbilidades.RData")
matriz_comor
## CATEGORIA 1 CATEGORIA 2 CATEGORIA 3 CATEGORIA 4
## p ( diabetes | c_j ) 0.0047824008 0.019794676 0.146309870 0.33631026
## p ( epoc | c_j ) 0.0009564802 0.001536854 0.003886010 0.03026544
## p ( asma | c_j ) 0.0119560019 0.009159648 0.010015165 0.01017117
## p ( inmunsupr | c_j ) 0.0059780010 0.003176164 0.007392898 0.01777888
## p ( hipertension | c_j ) 0.0035868006 0.027868281 0.181568305 0.45919127
## p ( cardiovascular | c_j ) 0.0038259206 0.002336018 0.007424491 0.03109237
## p ( obesidad | c_j ) 0.0344332855 0.102006106 0.156135473 0.14818490
## p ( renal_cronica | c_j ) 0.0031085605 0.004672035 0.012005560 0.03638469
## p ( tabaquismo | c_j ) 0.0071736011 0.088891621 0.063882219 0.05978665
Los datos se visualizaron en una matriz, utilizando el paquete ComplexHetmap.
Para esto, se hace el conteo de casos que tengan al menos una comorbilidad, por cada categoría de edad. Los conteos se dividieron entre el número de casos positivos registrados para esa categoría. POsteriormente, los datos se normalizaron. Los datos procesados se visualizan como un heatmap.
¿Cuál es la probabilidad que una persona de cierta edad tenga combinaciones de dos comorbilidades? La probabilidad de que dado que tiene dos comorbilidad, a qué categoría es más probable que pertenezca. \(p(cat_i|com_j\&com_k)=\frac{\sum\text{casos de combinación de dos comorbilidades de la cat}_i}{\sum\text{casos de la cat}_i}\)
De los casos positivos, se hizo el conteo de los casos que tienen combinaciones de 9 comorbilidades, entre cada una de ellas. Se generaron cuatro matrices de 9x9 de cada categoría con los conteos de cada combinación de comorbilidades. Se hizo uso de una función generada en R.
source("02_Scripts/10_calculo_de_probabilidades_condicionales_con_combinacion_de_comorbilidades.R")
## Loading required package: grid
## ========================================
## ComplexHeatmap version 2.16.0
## Bioconductor page: http://bioconductor.org/packages/ComplexHeatmap/
## Github page: https://github.com/jokergoo/ComplexHeatmap
## Documentation: http://jokergoo.github.io/ComplexHeatmap-reference
##
## If you use it in published research, please cite either one:
## - Gu, Z. Complex Heatmap Visualization. iMeta 2022.
## - Gu, Z. Complex heatmaps reveal patterns and correlations in multidimensional
## genomic data. Bioinformatics 2016.
##
##
## The new InteractiveComplexHeatmap package can directly export static
## complex heatmaps into an interactive Shiny app with zero effort. Have a try!
##
## This message can be suppressed by:
## suppressPackageStartupMessages(library(ComplexHeatmap))
## ========================================
##
## Attaching package: 'ComplexHeatmap'
## The following object is masked from 'package:plotly':
##
## add_heatmap
## ========================================
## circlize version 0.4.15
## CRAN page: https://cran.r-project.org/package=circlize
## Github page: https://github.com/jokergoo/circlize
## Documentation: https://jokergoo.github.io/circlize_book/book/
##
## If you use it in published research, please cite:
## Gu, Z. circlize implements and enhances circular visualization
## in R. Bioinformatics 2014.
##
## This message can be suppressed by:
## suppressPackageStartupMessages(library(circlize))
## ========================================
##
## Attaching package: 'circlize'
## The following object is masked from 'package:ape':
##
## degree
conteo_comor_combinated_1
## Diabetes EPOC Asma Inmunsupr Hipertension Cardiovascular
## Diabetes NA 0 1 2 3 1
## EPOC 0 NA 0 0 0 0
## Asma 1 0 NA 1 0 0
## Inmunsupr 2 0 1 NA 2 1
## Hipertension 3 0 0 2 NA 1
## Cardiovascular 1 0 0 1 1 NA
## Obesidad 1 0 1 2 4 3
## Renal Cronica 0 0 0 1 1 0
## Tabaquismo 0 0 2 0 0 0
## Obesidad Renal Cronica Tabaquismo
## Diabetes 1 0 0
## EPOC 0 0 0
## Asma 1 0 2
## Inmunsupr 2 1 0
## Hipertension 4 1 0
## Cardiovascular 3 0 0
## Obesidad NA 1 2
## Renal Cronica 1 NA 0
## Tabaquismo 2 0 NA
conteo_comor_combinated_2
## Diabetes EPOC Asma Inmunsupr Hipertension Cardiovascular
## Diabetes NA 20 24 27 259 19
## EPOC 20 NA 15 14 19 17
## Asma 24 15 NA 13 29 11
## Inmunsupr 27 14 13 NA 29 14
## Hipertension 259 19 29 29 NA 28
## Cardiovascular 19 17 11 14 28 NA
## Obesidad 255 20 70 30 452 31
## Renal Cronica 44 12 13 26 95 15
## Tabaquismo 90 16 45 24 118 19
## Obesidad Renal Cronica Tabaquismo
## Diabetes 255 44 90
## EPOC 20 12 16
## Asma 70 13 45
## Inmunsupr 30 26 24
## Hipertension 452 95 118
## Cardiovascular 31 15 19
## Obesidad NA 32 686
## Renal Cronica 32 NA 27
## Tabaquismo 686 27 NA
conteo_comor_combinated_3
## Diabetes EPOC Asma Inmunsupr Hipertension Cardiovascular
## Diabetes NA 37 63 85 2124 86
## EPOC 37 NA 4 7 45 6
## Asma 63 4 NA 3 79 9
## Inmunsupr 85 7 3 NA 60 7
## Hipertension 2124 45 79 60 NA 124
## Cardiovascular 86 6 9 7 124 NA
## Obesidad 1149 41 82 51 1660 74
## Renal Cronica 223 4 3 18 258 21
## Tabaquismo 276 21 22 23 316 22
## Obesidad Renal Cronica Tabaquismo
## Diabetes 1149 223 276
## EPOC 41 4 21
## Asma 82 3 22
## Inmunsupr 51 18 23
## Hipertension 1660 258 316
## Cardiovascular 74 21 22
## Obesidad NA 72 448
## Renal Cronica 72 NA 23
## Tabaquismo 448 23 NA
conteo_comor_combinated_4
## Diabetes EPOC Asma Inmunsupr Hipertension Cardiovascular
## Diabetes NA 147 51 101 2679 182
## EPOC 147 NA 11 13 218 44
## Asma 51 11 NA 5 59 8
## Inmunsupr 101 13 5 NA 69 8
## Hipertension 2679 218 59 69 NA 255
## Cardiovascular 182 44 8 8 255 NA
## Obesidad 831 85 24 29 1131 97
## Renal Cronica 310 28 3 16 370 48
## Tabaquismo 260 60 10 20 343 42
## Obesidad Renal Cronica Tabaquismo
## Diabetes 831 310 260
## EPOC 85 28 60
## Asma 24 3 10
## Inmunsupr 29 16 20
## Hipertension 1131 370 343
## Cardiovascular 97 48 42
## Obesidad NA 96 142
## Renal Cronica 96 NA 45
## Tabaquismo 142 45 NA
Para determinar las probabilidades, cada conteo se dividió entre el total de casos de cada categoría. Se generó una matriz de 9x9 de combinaciones de comorbilidades por cada categoría. Se hizo uso de una función generada en R.
probabilidades_combinadas_cat_1
## diabetes epoc asma inmunsupr hipertension cardiovascular
## diabetes NA 0 0.00024 0.00048 0.00072 0.00024
## epoc 0.00000 NA 0.00000 0.00000 0.00000 0.00000
## asma 0.00024 0 NA 0.00024 0.00000 0.00000
## inmunsupr 0.00048 0 0.00024 NA 0.00048 0.00024
## hipertension 0.00072 0 0.00000 0.00048 NA 0.00024
## cardiovascular 0.00024 0 0.00000 0.00024 0.00024 NA
## obesidad 0.00024 0 0.00024 0.00048 0.00096 0.00072
## renal_cronica 0.00000 0 0.00000 0.00024 0.00024 0.00000
## tabaquismo 0.00000 0 0.00048 0.00000 0.00000 0.00000
## obesidad renal_cronica tabaquismo
## diabetes 0.00024 0.00000 0.00000
## epoc 0.00000 0.00000 0.00000
## asma 0.00024 0.00000 0.00048
## inmunsupr 0.00048 0.00024 0.00000
## hipertension 0.00096 0.00024 0.00000
## cardiovascular 0.00072 0.00000 0.00000
## obesidad NA 0.00024 0.00048
## renal_cronica 0.00024 NA 0.00000
## tabaquismo 0.00048 0.00000 NA
probabilidades_combinadas_cat_2
## diabetes epoc asma inmunsupr hipertension cardiovascular
## diabetes NA 0.00041 0.00049 0.00055 0.00531 0.00039
## epoc 0.00041 NA 0.00031 0.00029 0.00039 0.00035
## asma 0.00049 0.00031 NA 0.00027 0.00059 0.00023
## inmunsupr 0.00055 0.00029 0.00027 NA 0.00059 0.00029
## hipertension 0.00531 0.00039 0.00059 0.00059 NA 0.00057
## cardiovascular 0.00039 0.00035 0.00023 0.00029 0.00057 NA
## obesidad 0.00523 0.00041 0.00143 0.00061 0.00926 0.00064
## renal_cronica 0.00090 0.00025 0.00027 0.00053 0.00195 0.00031
## tabaquismo 0.00184 0.00033 0.00092 0.00049 0.00242 0.00039
## obesidad renal_cronica tabaquismo
## diabetes 0.00523 0.00090 0.00184
## epoc 0.00041 0.00025 0.00033
## asma 0.00143 0.00027 0.00092
## inmunsupr 0.00061 0.00053 0.00049
## hipertension 0.00926 0.00195 0.00242
## cardiovascular 0.00064 0.00031 0.00039
## obesidad NA 0.00066 0.01406
## renal_cronica 0.00066 NA 0.00055
## tabaquismo 0.01406 0.00055 NA
probabilidades_combinadas_cat_3
## diabetes epoc asma inmunsupr hipertension cardiovascular
## diabetes NA 0.00117 0.00199 0.00269 0.06710 0.00272
## epoc 0.00117 NA 0.00013 0.00022 0.00142 0.00019
## asma 0.00199 0.00013 NA 0.00009 0.00250 0.00028
## inmunsupr 0.00269 0.00022 0.00009 NA 0.00190 0.00022
## hipertension 0.06710 0.00142 0.00250 0.00190 NA 0.00392
## cardiovascular 0.00272 0.00019 0.00028 0.00022 0.00392 NA
## obesidad 0.03630 0.00130 0.00259 0.00161 0.05245 0.00234
## renal_cronica 0.00705 0.00013 0.00009 0.00057 0.00815 0.00066
## tabaquismo 0.00872 0.00066 0.00070 0.00073 0.00998 0.00070
## obesidad renal_cronica tabaquismo
## diabetes 0.03630 0.00705 0.00872
## epoc 0.00130 0.00013 0.00066
## asma 0.00259 0.00009 0.00070
## inmunsupr 0.00161 0.00057 0.00073
## hipertension 0.05245 0.00815 0.00998
## cardiovascular 0.00234 0.00066 0.00070
## obesidad NA 0.00227 0.01415
## renal_cronica 0.00227 NA 0.00073
## tabaquismo 0.01415 0.00073 NA
probabilidades_combinadas_cat_4
## diabetes epoc asma inmunsupr hipertension cardiovascular
## diabetes NA 0.01216 0.00422 0.00835 0.22153 0.01505
## epoc 0.01216 NA 0.00091 0.00108 0.01803 0.00364
## asma 0.00422 0.00091 NA 0.00041 0.00488 0.00066
## inmunsupr 0.00835 0.00108 0.00041 NA 0.00571 0.00066
## hipertension 0.22153 0.01803 0.00488 0.00571 NA 0.02109
## cardiovascular 0.01505 0.00364 0.00066 0.00066 0.02109 NA
## obesidad 0.06872 0.00703 0.00198 0.00240 0.09353 0.00802
## renal_cronica 0.02563 0.00232 0.00025 0.00132 0.03060 0.00397
## tabaquismo 0.02150 0.00496 0.00083 0.00165 0.02836 0.00347
## obesidad renal_cronica tabaquismo
## diabetes 0.06872 0.02563 0.02150
## epoc 0.00703 0.00232 0.00496
## asma 0.00198 0.00025 0.00083
## inmunsupr 0.00240 0.00132 0.00165
## hipertension 0.09353 0.03060 0.02836
## cardiovascular 0.00802 0.00397 0.00347
## obesidad NA 0.00794 0.01174
## renal_cronica 0.00794 NA 0.00372
## tabaquismo 0.01174 0.00372 NA
Los datos se visualizaron en heatmaps. Se hizo uso del paquete “ComplexHeatmap”.
Se elaboró una bigmatrix con la conjunción de todos los datos de probabilidades, de comorbilidades individuales y de combinaciones de dos comorbilidades
source("02_Scripts/10_calculo_de_probabilidades_condicionales_con_combinacion_de_comorbilidades.R")
print(bm)
## Diabetes EPOC Asma Inmunsupr Hipertension
## Menores 18 0.004782401 0.0009564802 0.011956002 0.005978001 0.003586801
## 18-39 0.019794676 0.0015368538 0.009159648 0.003176164 0.027868281
## 40-59 0.146309870 0.0038860104 0.010015165 0.007392898 0.181568305
## Mayores 60 0.336310262 0.0302654428 0.010171173 0.017778880 0.459191268
## Cardiovascular Obesidad Renal Crónica Tabaquismo Diabetes X EPOC
## Menores 18 0.003825921 0.03443329 0.003108560 0.007173601 0.00000
## 18-39 0.002336018 0.10200611 0.004672035 0.088891621 0.00041
## 40-59 0.007424491 0.15613547 0.012005560 0.063882219 0.00117
## Mayores 60 0.031092367 0.14818490 0.036384685 0.059786653 0.01216
## Diabetes X Asma Diabetes X Inmunsupr Diabetes X Hipertension
## Menores 18 0.00024 0.00048 0.00072
## 18-39 0.00049 0.00055 0.00531
## 40-59 0.00199 0.00269 0.06710
## Mayores 60 0.00422 0.00835 0.22153
## Diabetes X Cadiovascular Diabetes X Obesidad
## Menores 18 0.00024 0.00024
## 18-39 0.00039 0.00523
## 40-59 0.00272 0.03630
## Mayores 60 0.01505 0.06872
## Diabetes X Renal Cronica Diabetes X Tabaquismo EPOC X Asma
## Menores 18 0.00000 0.00000 0.00000
## 18-39 0.00090 0.00184 0.00031
## 40-59 0.00705 0.00872 0.00013
## Mayores 60 0.02563 0.02150 0.00091
## EPOC X Inmunsupr EPOC X Hipertension EPOC X Cardiovascular
## Menores 18 0.00000 0.00000 0.00000
## 18-39 0.00029 0.00039 0.00035
## 40-59 0.00022 0.00142 0.00019
## Mayores 60 0.00108 0.01803 0.00364
## EPOC X Obesidad EPOC X Renal Cronica EPOC X Tabaquismo
## Menores 18 0.00000 0.00000 0.00000
## 18-39 0.00041 0.00025 0.00033
## 40-59 0.00130 0.00013 0.00066
## Mayores 60 0.00703 0.00232 0.00496
## Asma X Inmunsupr Asma X Hipertension Asma X Cardiovascular
## Menores 18 0.00024 0.00000 0.00000
## 18-39 0.00027 0.00059 0.00023
## 40-59 0.00009 0.00250 0.00028
## Mayores 60 0.00041 0.00488 0.00066
## Asma X Obesidad Asma X Renal Cronica Asma X Tabaquismo
## Menores 18 0.00024 0.00000 0.00048
## 18-39 0.00143 0.00027 0.00092
## 40-59 0.00259 0.00009 0.00070
## Mayores 60 0.00198 0.00025 0.00083
## Inmunsupr X Hipertension Inmunsupr X Cardiovascular
## Menores 18 0.00048 0.00024
## 18-39 0.00059 0.00029
## 40-59 0.00190 0.00022
## Mayores 60 0.00571 0.00066
## Inmunsupr X Obesidad Inmunsupr X Renal Cronica
## Menores 18 0.00048 0.00024
## 18-39 0.00061 0.00053
## 40-59 0.00161 0.00057
## Mayores 60 0.00240 0.00132
## Inmunsupr X Tabaquismo Hipertension X Cardiovascular
## Menores 18 0.00000 0.00024
## 18-39 0.00049 0.00057
## 40-59 0.00073 0.00392
## Mayores 60 0.00165 0.02109
## Hipertension X Obesidad Hipertension X Renal Cronica
## Menores 18 0.00096 0.00024
## 18-39 0.00926 0.00195
## 40-59 0.05245 0.00815
## Mayores 60 0.09353 0.03060
## Hipertension X Tabaquismo Cardiovascular X Obesidad
## Menores 18 0.00000 0.00072
## 18-39 0.00242 0.00064
## 40-59 0.00998 0.00234
## Mayores 60 0.02836 0.00802
## Cardiovascular X Renal Cronica Cardiovascular X Tabaquismo
## Menores 18 0.00000 0.00000
## 18-39 0.00031 0.00039
## 40-59 0.00066 0.00070
## Mayores 60 0.00397 0.00347
## Obesidad X Renal Cronica Obesidad X Tabaquismo
## Menores 18 0.00024 0.00048
## 18-39 0.00066 0.01406
## 40-59 0.00227 0.01415
## Mayores 60 0.00794 0.01174
## Renal Cronica X Tabaquismo
## Menores 18 0.00000
## 18-39 0.00055
## 40-59 0.00073
## Mayores 60 0.00372
Con la matriz, se generó un heatmap para visualizar los datos
Se realizó un NMDS tomando en cuenta los datos categoricos de comorbilidades y el rango de edad, para ver como se agrupan los datos de acuerdo a las comorbilidades
Se realizó primero para ver las diferencias en los grupos menores de 18 años y mayores de 70 años. Los extremos en los rangos de edad
Teniendo en cuenta las ecuaciones, el valor del \(R_0\) se puede estimar como:
\[\begin{array}{ll} R_0 = \beta \, (\sum_{j=1}^{4} {\frac{\alpha \, \, p_{lj} \, \delta_l}{ \gamma_R } + \frac{\alpha \, p_{hj} \, \delta_h}{ \, (1-p_{ij}) \, \gamma_h)})} \end{array}\]
beta <- 0.716
alpha <- 1/5.6
pl_1 <- 0.9746533
pl_2 <- 0.9610823
pl_3 <- 0.8420886
pl_4 <- 0.5567019
ph_1 <- 0.02534672
ph_2 <- 0.03891768
ph_3 <- 0.15791136
ph_4 <- 0.44329812
delta_l <- 1/5.5
delta_h <- 1/4
gamma_R <- 1/14
pi_1 <- 0.09433962
pi_2 <- 0.11152620
pi_3 <- 0.18827911
pi_4 <- 0.21197680
delta_i <- 1/1
gamma_h <- 1/12
mu_1 <- 0.5000000
mu_2 <- 0.6896226
mu_3 <- 0.8224699
mu_4 <- 0.8972645
delta_m <- 1/8
gamma_i <- 1/7
N1 <- 782000
N2 <- 801000
N3 <- 539000
N4 <- 242000
r_0 <- beta * (((alpha * pl_1 * delta_l)/(gamma_R))+((alpha * ph_1 * delta_h)/((1-pi_1)*gamma_h)) +
((alpha * pl_2 * delta_l)/(gamma_R))+((alpha * ph_2 * delta_h)/((1-pi_2)*gamma_h)) +
((alpha * pl_3 * delta_l)/(gamma_R))+((alpha * ph_3 * delta_h)/((1-pi_3)*gamma_h)) +
((alpha * pl_4 * delta_l)/(gamma_R))+((alpha * ph_4 * delta_h)/((1-pi_4)*gamma_h)))
r_0 ## VALORE DE R_0 a partir de los parámetros
## [1] 1.403169
Además de esto, se realizó la estimación de \(R_t\) con los datos de incidencia de COVID-19 para el estado de Querétaro.